package exception;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

/**
 * java异常处理机制:try...catch
 * try{
 *     代码片段
 * }catch(XXXException e){
 *     但try的代码片段出现XXXException时的补救措施
 * }
 */
public class TryCatchDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了....");
        try {
            //String line=null;
            //System.out.println(line.length());

            //String line1="";
            //System.out.println(line1.charAt(0));

            String line2 = "abc";
            System.out.println(Integer.parseInt(line2));
            //}catch(NullPointerException e){
            //System.out.println("出现了空指针异常并解决了");
            //}catch(StringIndexOutOfBoundsException f){
            //System.out.println("出现了下标越界一场并解决");
        //若多个异常具有相同处理方式时,可以合并到一个catch中进行处理
        //}catch(NullPointerException|StringIndexOutOfBoundsException i){
            //System.out.println("出现异常并处理");
        //}catch(NumberFormatException g){
            //System.out.println("出现类型转换异常并解决了");
        }catch(Exception h) {//可以在最后捕获超类型异常,凡是该异常的子类型都可以被捕获并处理
            System.out.println("就是出错了并解决了");
        }
        System.out.println("程序结束了...");
    }
}
